#include "Enemy.hh"
#include <iostream>

namespace DungeonRPG{

Enemy::Enemy(const std::string& name, unsigned health, unsigned attack, unsigned defense)
    : Character(name, "A fearsome enemy.", health, attack, defense) {}

void Enemy::interact() {
    std::cout << getName() << " growls menacingly!\n";
}

void Enemy::stun() {
    stunned = true;
}

bool Enemy::isStunned() const {
    return stunned;
}

void Enemy::recoverStun() {
    stunned = false;
}

BruteEnemy::BruteEnemy()
    : Enemy("Brute", 50, 10, 5) {}

void BruteEnemy::interact() {
    std::cout << getName() << " roars and charges violently!\n";
}

ArbalestEnemy::ArbalestEnemy()
    : Enemy("Arbalest", 35, 12, 2) {}

void ArbalestEnemy::interact() {
    std::cout << getName() << " aims its crossbow with deadly precision!\n";
}

CultistMage::CultistMage()
    : Enemy("Cultist Mage", 25, 8, 1) {}

void CultistMage::interact() {
    std::cout << getName() << " chants a dark incantation!\n";
}

}
